home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Printing.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  15.2 KB  |  513 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Printing.p
  3.  
  4.      Contains:    Print Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT Printing;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __PRINTING__}
  27. {$SETC __PRINTING__ := 1}
  28.  
  29. {$I+}
  30. {$SETC PrintingIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __ERRORS__}
  34. {$I Errors.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __QUICKDRAW__}
  37. {$I Quickdraw.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __DIALOGS__}
  40. {$I Dialogs.p}
  41. {$ENDC}
  42.  
  43.  
  44. {$PUSH}
  45. {$ALIGN MAC68K}
  46. {$LibExport+}
  47.  
  48.  
  49. CONST
  50.     iPFMaxPgs                    = 128;
  51.     iPrPgFract                    = 120;                            { Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract }
  52.     iPrPgFst                    = 1;                            { Page range constants }
  53.     iPrPgMax                    = 9999;
  54.     iPrRelease                    = 3;                            { Current version number of the code. }
  55.     iPrSavPFil                    = -1;
  56.     iPrAbort                    = $0080;
  57.     iPrDevCtl                    = 7;                            { The PrDevCtl Proc's ctl number }
  58.     lPrReset                    = $00010000;                    { The PrDevCtl Proc's CParam for reset }
  59.     lPrLineFeed                    = $00030000;
  60.     lPrLFStd                    = $0003FFFF;                    { The PrDevCtl Proc's CParam for std paper advance }
  61.     lPrLFSixth                    = $0003FFFF;
  62.     lPrPageEnd                    = $00020000;                    { The PrDevCtl Proc's CParam for end page }
  63.     lPrDocOpen                    = $00010000;
  64.     lPrPageOpen                    = $00040000;
  65.     lPrPageClose                = $00020000;
  66.     lPrDocClose                    = $00050000;
  67.     iFMgrCtl                    = 8;                            { The FMgr's Tail-hook Proc's ctl number }
  68.     iMscCtl                        = 9;                            { The FMgr's Tail-hook Proc's ctl number }
  69.     iPvtCtl                        = 10;                            { The FMgr's Tail-hook Proc's ctl number }
  70.  
  71. {    Error Codes moved to Errors.(hap) }
  72.     pPrGlobals                    = $00000944;                    { The PrVars lo mem area: }
  73.     bDraftLoop                    = 0;
  74.     bSpoolLoop                    = 1;
  75.     bUser1Loop                    = 2;
  76.     bUser2Loop                    = 3;
  77.     fNewRunBit                    = 2;
  78.     fHiResOK                    = 3;
  79.     fWeOpenedRF                    = 4;                            { Driver constants  }
  80.     iPrBitsCtl                    = 4;
  81.     lScreenBits                    = 0;
  82.     lPaintBits                    = 1;
  83.     lHiScreenBits                = $00000002;                    { The Bitmap Print Proc's Screen Bitmap param }
  84.     lHiPaintBits                = $00000003;                    { The Bitmap Print Proc's Paint [sq pix] param }
  85.     iPrIOCtl                    = 5;
  86.     iPrEvtCtl                    = 6;                            { The PrEvent Proc's ctl number }
  87.     lPrEvtAll                    = $0002FFFD;                    { The PrEvent Proc's CParam for the entire screen }
  88.     lPrEvtTop                    = $0001FFFD;                    { The PrEvent Proc's CParam for the top folder }
  89.     iPrDrvrRef                    = -3;
  90.  
  91.     getRslDataOp                = 4;
  92.     setRslOp                    = 5;
  93.     draftBitsOp                    = 6;
  94.     noDraftBitsOp                = 7;
  95.     getRotnOp                    = 8;
  96.     NoSuchRsl                    = 1;
  97.     OpNotImpl                    = 2;                            { the driver doesn't support this opcode }
  98.     RgType1                        = 1;
  99.  
  100.     feedCut                        = 0;
  101.     feedFanfold                    = 1;
  102.     feedMechCut                    = 2;
  103.     feedOther                    = 3;
  104.  
  105.  
  106. TYPE
  107.     TFeed                                = SInt8;
  108.  
  109. CONST
  110.     scanTB                        = 0;
  111.     scanBT                        = 1;
  112.     scanLR                        = 2;
  113.     scanRL                        = 3;
  114.  
  115.  
  116. TYPE
  117.     TScan                                = SInt8;
  118. { A Rect Ptr }
  119.     TPRect                                = ^Rect;
  120. {$IFC TYPED_FUNCTION_POINTERS}
  121.     PrIdleProcPtr = PROCEDURE;
  122. {$ELSEC}
  123.     PrIdleProcPtr = ProcPtr;
  124. {$ENDC}
  125.  
  126. {$IFC TYPED_FUNCTION_POINTERS}
  127.     PItemProcPtr = PROCEDURE(theDialog: DialogPtr; item: INTEGER);
  128. {$ELSEC}
  129.     PItemProcPtr = ProcPtr;
  130. {$ENDC}
  131.  
  132.     PrIdleUPP = UniversalProcPtr;
  133.     PItemUPP = UniversalProcPtr;
  134.  
  135. CONST
  136.     uppPrIdleProcInfo = $00000000;
  137.     uppPItemProcInfo = $000002C0;
  138.  
  139. FUNCTION NewPrIdleProc(userRoutine: PrIdleProcPtr): PrIdleUPP;
  140.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  141.     INLINE $2E9F;
  142.     {$ENDC}
  143.  
  144. FUNCTION NewPItemProc(userRoutine: PItemProcPtr): PItemUPP;
  145.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  146.     INLINE $2E9F;
  147.     {$ENDC}
  148.  
  149. PROCEDURE CallPrIdleProc(userRoutine: PrIdleUPP);
  150.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  151.     INLINE $205F, $4E90;
  152.     {$ENDC}
  153.  
  154. PROCEDURE CallPItemProc(theDialog: DialogPtr; item: INTEGER; userRoutine: PItemUPP);
  155.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  156.     INLINE $205F, $4E90;
  157.     {$ENDC}
  158.  
  159. TYPE
  160.     TPrPortPtr = ^TPrPort;
  161.     TPrPort = RECORD
  162.         gPort:                    GrafPort;                                { The Printer's graf port. }
  163.         gProcs:                    QDProcs;                                { ..and its procs }
  164.         lGParam1:                LONGINT;                                { 16 bytes for private parameter storage. }
  165.         lGParam2:                LONGINT;
  166.         lGParam3:                LONGINT;
  167.         lGParam4:                LONGINT;
  168.         fOurPtr:                BOOLEAN;                                { Whether the PrPort allocation was done by us. }
  169.         fOurBits:                BOOLEAN;                                { Whether the BitMap allocation was done by us. }
  170.     END;
  171.  
  172.     TPPrPort                            = ^TPrPort;
  173.     TPPrPortRef                            = TPPrPort;
  174. { Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
  175.   This is the "PrPeek" record. }
  176.     TPrInfoPtr = ^TPrInfo;
  177.     TPrInfo = RECORD
  178.         iDev:                    INTEGER;                                { Font mgr/QuickDraw device code }
  179.         iVRes:                    INTEGER;                                { Resolution of device, in device coordinates }
  180.         iHRes:                    INTEGER;                                { ..note: V before H => compatable with Point. }
  181.         rPage:                    Rect;                                    { The page (printable) rectangle in device coordinates. }
  182.     END;
  183.  
  184.     TPPrInfo                            = ^TPrInfo;
  185. { Print Info Record: The parameters needed for page composition. }
  186.     TPrStlPtr = ^TPrStl;
  187.     TPrStl = RECORD
  188.         wDev:                    INTEGER;
  189.         iPageV:                    INTEGER;
  190.         iPageH:                    INTEGER;
  191.         bPort:                    SInt8;
  192.         feed:                    TFeed;
  193.     END;
  194.  
  195.     TPPrStl                                = ^TPrStl;
  196.     TPrXInfoPtr = ^TPrXInfo;
  197.     TPrXInfo = RECORD
  198.         iRowBytes:                INTEGER;
  199.         iBandV:                    INTEGER;
  200.         iBandH:                    INTEGER;
  201.         iDevBytes:                INTEGER;
  202.         iBands:                    INTEGER;
  203.         bPatScale:                SInt8;
  204.         bUlThick:                SInt8;
  205.         bUlOffset:                SInt8;
  206.         bUlShadow:                SInt8;
  207.         scan:                    TScan;
  208.         bXInfoX:                SInt8;
  209.     END;
  210.  
  211.     TPPrXInfo                            = ^TPrXInfo;
  212.     TPrJobPtr = ^TPrJob;
  213.     TPrJob = RECORD
  214.         iFstPage:                INTEGER;                                { Page Range. }
  215.         iLstPage:                INTEGER;
  216.         iCopies:                INTEGER;                                { No. copies. }
  217.         bJDocLoop:                SInt8;                                    { The Doc style: Draft, Spool, .., and .. }
  218.         fFromUsr:                BOOLEAN;                                { Printing from an User's App (not PrApp) flag }
  219.         pIdleProc:                PrIdleUPP;                                { The Proc called while waiting on IO etc. }
  220.         pFileName:                StringPtr;                                { Spool File Name: NIL for default. }
  221.         iFileVol:                INTEGER;                                { Spool File vol, set to 0 initially }
  222.         bFileVers:                SInt8;                                    { Spool File version, set to 0 initially }
  223.         bJobX:                    SInt8;                                    { An eXtra byte. }
  224.     END;
  225.  
  226.     TPPrJob                                = ^TPrJob;
  227. { Print Job: Print "form" for a single print request. }
  228.     TPrFlag1Ptr = ^TPrFlag1;
  229.     TPrFlag1 = PACKED RECORD
  230.         f15:                    BOOLEAN;
  231.         f14:                    BOOLEAN;
  232.         f13:                    BOOLEAN;
  233.         f12:                    BOOLEAN;
  234.         f11:                    BOOLEAN;
  235.         f10:                    BOOLEAN;
  236.         f9:                        BOOLEAN;
  237.         f8:                        BOOLEAN;
  238.         f7:                        BOOLEAN;
  239.         f6:                        BOOLEAN;
  240.         f5:                        BOOLEAN;
  241.         f4:                        BOOLEAN;
  242.         f3:                        BOOLEAN;
  243.         f2:                        BOOLEAN;
  244.         fLstPgFst:                BOOLEAN;
  245.         fUserScale:                BOOLEAN;
  246.     END;
  247.  
  248.     TPrintPtr = ^TPrint;
  249.     TPrint = RECORD
  250.         iPrVersion:                INTEGER;                                { (2) Printing software version }
  251.         prInfo:                    TPrInfo;                                { (14) the PrInfo data associated with the current style. }
  252.         rPaper:                    Rect;                                    { (8) The paper rectangle [offset from rPage] }
  253.         prStl:                    TPrStl;                                    { (8)  This print request's style. }
  254.         prInfoPT:                TPrInfo;                                { (14)  Print Time Imaging metrics }
  255.         prXInfo:                TPrXInfo;                                { (16)  Print-time (expanded) Print info record. }
  256.         prJob:                    TPrJob;                                    { (20) The Print Job request (82)  Total of the above; 120-82 = 38 bytes needed to fill 120 }
  257.         CASE INTEGER OF
  258.         0: (
  259.             printX:                ARRAY [1..19] OF INTEGER;
  260.             );
  261.         1: (
  262.             prFlag1:            TPrFlag1;
  263.             iZoomMin:            INTEGER;
  264.             iZoomMax:            INTEGER;
  265.             hDocName:            StringHandle;
  266.            );
  267.     END;
  268.  
  269.     TPPrint                                = ^TPrint;
  270.     THPrint                                = ^TPPrint;
  271.     TPrStatusPtr = ^TPrStatus;
  272.     TPrStatus = RECORD
  273.         iTotPages:                INTEGER;                                { Total pages in Print File. }
  274.         iCurPage:                INTEGER;                                { Current page number }
  275.         iTotCopies:                INTEGER;                                { Total copies requested }
  276.         iCurCopy:                INTEGER;                                { Current copy number }
  277.         iTotBands:                INTEGER;                                { Total bands per page. }
  278.         iCurBand:                INTEGER;                                { Current band number }
  279.         fPgDirty:                BOOLEAN;                                { True if current page has been written to. }
  280.         fImaging:                BOOLEAN;                                { Set while in band's DrawPic call. }
  281.         hPrint:                    THPrint;                                { Handle to the active Printer record }
  282.         pPrPort:                TPPrPortRef;                            { Ptr to the active PrPort }
  283.         hPic:                    PicHandle;                                { Handle to the active Picture }
  284.     END;
  285.  
  286.     TPPrStatus                            = ^TPrStatus;
  287.     TPPrStatusRef                        = TPPrStatus;
  288.  
  289. { Print Status: Print information during printing. }
  290.     TPfPgDirPtr = ^TPfPgDir;
  291.     TPfPgDir = RECORD
  292.         iPages:                    INTEGER;
  293.         iPgPos:                    ARRAY [0..128] OF LONGINT;                { ARRAY [0..iPfMaxPgs] OF LONGINT }
  294.     END;
  295.  
  296.     TPPfPgDir                            = ^TPfPgDir;
  297.     THPfPgDir                            = ^TPPfPgDir;
  298. { PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) }
  299. { This is the Printing Dialog Record. Only used by folks appending their own
  300.    DITLs to the print dialogs.    Print Dialog: The Dialog Stream object. }
  301.     TPrDlgPtr = ^TPrDlg;
  302.     TPrDlg = RECORD
  303.         Dlg:                    DialogRecord;                            { The Dialog window }
  304.         pFltrProc:                ModalFilterUPP;                            { The Filter Proc. }
  305.         pItemProc:                PItemUPP;                                { The Item evaluating proc. }
  306.         hPrintUsr:                THPrint;                                { The user's print record. }
  307.         fDoIt:                    BOOLEAN;
  308.         fDone:                    BOOLEAN;
  309.         lUser1:                    LONGINT;                                { Four longs for apps to hang global data. }
  310.         lUser2:                    LONGINT;                                { Plus more stuff needed by the particular }
  311.         lUser3:                    LONGINT;                                { printing dialog. }
  312.         lUser4:                    LONGINT;
  313.     END;
  314.  
  315.     TPPrDlg                                = ^TPrDlg;
  316.     TPPrDlgRef                            = ^TPrDlg;
  317. {$IFC TYPED_FUNCTION_POINTERS}
  318.     PDlgInitProcPtr = FUNCTION(hPrint: THPrint): TPPrDlgRef;
  319. {$ELSEC}
  320.     PDlgInitProcPtr = ProcPtr;
  321. {$ENDC}
  322.  
  323.     PDlgInitUPP = UniversalProcPtr;
  324.  
  325. CONST
  326.     uppPDlgInitProcInfo = $000000F0;
  327.  
  328. FUNCTION NewPDlgInitProc(userRoutine: PDlgInitProcPtr): PDlgInitUPP;
  329.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  330.     INLINE $2E9F;
  331.     {$ENDC}
  332.  
  333. FUNCTION CallPDlgInitProc(hPrint: THPrint; userRoutine: PDlgInitUPP): TPPrDlgRef;
  334.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  335.     INLINE $205F, $4E90;
  336.     {$ENDC}
  337.  
  338. TYPE
  339.     TGnlDataPtr = ^TGnlData;
  340.     TGnlData = RECORD
  341.         iOpCode:                INTEGER;
  342.         iError:                    INTEGER;
  343.         lReserved:                LONGINT;                                { more fields here depending on call }
  344.     END;
  345.  
  346.     TRslRgPtr = ^TRslRg;
  347.     TRslRg = RECORD
  348.         iMin:                    INTEGER;
  349.         iMax:                    INTEGER;
  350.     END;
  351.  
  352.     TRslRecPtr = ^TRslRec;
  353.     TRslRec = RECORD
  354.         iXRsl:                    INTEGER;
  355.         iYRsl:                    INTEGER;
  356.     END;
  357.  
  358.     TGetRslBlkPtr = ^TGetRslBlk;
  359.     TGetRslBlk = RECORD
  360.         iOpCode:                INTEGER;
  361.         iError:                    INTEGER;
  362.         lReserved:                LONGINT;
  363.         iRgType:                INTEGER;
  364.         xRslRg:                    TRslRg;
  365.         yRslRg:                    TRslRg;
  366.         iRslRecCnt:                INTEGER;
  367.         rgRslRec:                ARRAY [1..27] OF TRslRec;
  368.     END;
  369.  
  370.     TSetRslBlkPtr = ^TSetRslBlk;
  371.     TSetRslBlk = RECORD
  372.         iOpCode:                INTEGER;
  373.         iError:                    INTEGER;
  374.         lReserved:                LONGINT;
  375.         hPrint:                    THPrint;
  376.         iXRsl:                    INTEGER;
  377.         iYRsl:                    INTEGER;
  378.     END;
  379.  
  380.     TDftBitsBlkPtr = ^TDftBitsBlk;
  381.     TDftBitsBlk = RECORD
  382.         iOpCode:                INTEGER;
  383.         iError:                    INTEGER;
  384.         lReserved:                LONGINT;
  385.         hPrint:                    THPrint;
  386.     END;
  387.  
  388.     TGetRotnBlkPtr = ^TGetRotnBlk;
  389.     TGetRotnBlk = RECORD
  390.         iOpCode:                INTEGER;
  391.         iError:                    INTEGER;
  392.         lReserved:                LONGINT;
  393.         hPrint:                    THPrint;
  394.         fLandscape:                BOOLEAN;
  395.         bXtra:                    SInt8;
  396.     END;
  397.  
  398. PROCEDURE PrPurge;
  399.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  400.     INLINE $2F3C, $A800, $0000, $A8FD;
  401.     {$ENDC}
  402. PROCEDURE PrNoPurge;
  403.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  404.     INLINE $2F3C, $B000, $0000, $A8FD;
  405.     {$ENDC}
  406. PROCEDURE PrOpen;
  407.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  408.     INLINE $2F3C, $C800, $0000, $A8FD;
  409.     {$ENDC}
  410. PROCEDURE PrClose;
  411.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  412.     INLINE $2F3C, $D000, $0000, $A8FD;
  413.     {$ENDC}
  414. PROCEDURE PrintDefault(hPrint: THPrint);
  415.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  416.     INLINE $2F3C, $2004, $0480, $A8FD;
  417.     {$ENDC}
  418. FUNCTION PrValidate(hPrint: THPrint): BOOLEAN;
  419.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  420.     INLINE $2F3C, $5204, $0498, $A8FD;
  421.     {$ENDC}
  422. FUNCTION PrStlDialog(hPrint: THPrint): BOOLEAN;
  423.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  424.     INLINE $2F3C, $2A04, $0484, $A8FD;
  425.     {$ENDC}
  426. FUNCTION PrJobDialog(hPrint: THPrint): BOOLEAN;
  427.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  428.     INLINE $2F3C, $3204, $0488, $A8FD;
  429.     {$ENDC}
  430. FUNCTION PrStlInit(hPrint: THPrint): TPPrDlgRef;
  431.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  432.     INLINE $2F3C, $3C04, $040C, $A8FD;
  433.     {$ENDC}
  434. FUNCTION PrJobInit(hPrint: THPrint): TPPrDlgRef;
  435.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  436.     INLINE $2F3C, $4404, $0410, $A8FD;
  437.     {$ENDC}
  438. PROCEDURE PrJobMerge(hPrintSrc: THPrint; hPrintDst: THPrint);
  439.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  440.     INLINE $2F3C, $5804, $089C, $A8FD;
  441.     {$ENDC}
  442. FUNCTION PrDlgMain(hPrint: THPrint; pDlgInit: PDlgInitUPP): BOOLEAN;
  443.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  444.     INLINE $2F3C, $4A04, $0894, $A8FD;
  445.     {$ENDC}
  446. FUNCTION PrOpenDoc(hPrint: THPrint; pPrPort: TPPrPortRef; pIOBuf: Ptr): TPPrPortRef;
  447.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  448.     INLINE $2F3C, $0400, $0C00, $A8FD;
  449.     {$ENDC}
  450. PROCEDURE PrCloseDoc(pPrPort: TPPrPortRef);
  451.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  452.     INLINE $2F3C, $0800, $0484, $A8FD;
  453.     {$ENDC}
  454. PROCEDURE PrOpenPage(pPrPort: TPPrPortRef; pPageFrame: TPRect);
  455.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  456.     INLINE $2F3C, $1000, $0808, $A8FD;
  457.     {$ENDC}
  458. PROCEDURE PrClosePage(pPrPort: TPPrPortRef);
  459.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  460.     INLINE $2F3C, $1800, $040C, $A8FD;
  461.     {$ENDC}
  462. PROCEDURE PrPicFile(hPrint: THPrint; pPrPort: TPPrPortRef; pIOBuf: Ptr; pDevBuf: Ptr; prStatus: TPPrStatusRef);
  463.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  464.     INLINE $2F3C, $6005, $1480, $A8FD;
  465.     {$ENDC}
  466. FUNCTION PrError: INTEGER;
  467.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  468.     INLINE $2F3C, $BA00, $0000, $A8FD;
  469.     {$ENDC}
  470. PROCEDURE PrSetError(iErr: INTEGER);
  471.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  472.     INLINE $2F3C, $C000, $0200, $A8FD;
  473.     {$ENDC}
  474. PROCEDURE PrGeneral(pData: Ptr);
  475.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  476.     INLINE $2F3C, $7007, $0480, $A8FD;
  477.     {$ENDC}
  478. PROCEDURE PrDrvrOpen;
  479.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  480.     INLINE $2F3C, $8000, $0000, $A8FD;
  481.     {$ENDC}
  482. PROCEDURE PrDrvrClose;
  483.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  484.     INLINE $2F3C, $8800, $0000, $A8FD;
  485.     {$ENDC}
  486. PROCEDURE PrCtlCall(iWhichCtl: INTEGER; lParam1: LONGINT; lParam2: LONGINT; lParam3: LONGINT);
  487.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  488.     INLINE $2F3C, $A000, $0E00, $A8FD;
  489.     {$ENDC}
  490. FUNCTION PrDrvrDCE: Handle;
  491.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  492.     INLINE $2F3C, $9400, $0000, $A8FD;
  493.     {$ENDC}
  494. FUNCTION PrDrvrVers: INTEGER;
  495.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  496.     INLINE $2F3C, $9A00, $0000, $A8FD;
  497.     {$ENDC}
  498. FUNCTION PrLoadDriver: INTEGER;
  499.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  500.     INLINE $2F3C, $D800, $0000, $A8FD;
  501.     {$ENDC}
  502.  
  503. {$ALIGN RESET}
  504. {$POP}
  505.  
  506. {$SETC UsingIncludes := PrintingIncludes}
  507.  
  508. {$ENDC} {__PRINTING__}
  509.  
  510. {$IFC NOT UsingIncludes}
  511.  END.
  512. {$ENDC}
  513.